package com.weixing.mall.provider.model.dto.act;

import com.weixing.mall.base.constant.DatePattern;
import com.weixing.mall.base.enums.WhetherEnum;
import com.weixing.mall.provider.api.model.enums.ActTypeEnum;
import com.weixing.mall.provider.model.enums.act.IsPublish;
import com.weixing.mall.provider.model.enums.act.ShowClientEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 活动Dto
 *
 * @author  siashan
 * @since  1.0
 **/
@Data
public class ActivityDto {
    /**
     * 活动id
     */
    private Long id;
    /**
     * 活动名称
     */
    private String actName;
    /**
     * 活动图片
     */
    private String actImg;
    /**
     * 活动开始时间
     */
    @DateTimeFormat(pattern= DatePattern.NORM_DATETIME_PATTERN)
    private Date startTime;
    /**
     * 活动结束时间
     */
    @DateTimeFormat(pattern=DatePattern.NORM_DATETIME_PATTERN)
    private Date endTime;
    /**
     * 活动预热时间
     */
    @DateTimeFormat(pattern=DatePattern.NORM_DATETIME_PATTERN)
    private Date preheatTime;
    /**
     * 活动类型
     */
    private ActTypeEnum actType;
    /**
     * 是否发布
     */
    private IsPublish isPublish;
    /**
     * 显示内容端
     */
    private ShowClientEnum showClient;
    /**
     * 下单范围（下划线分割）
     */
    private String joinRole;
    /**
     * 活动折扣
     */
    private BigDecimal discount;
    /**
     * 活动返利规则
     */
    private Long rebateRule;
    /**
     * 活动折扣规则
     */
    private Long discountRule;

    /**
     * 活动分红比例
     */
    private BigDecimal bonusRate;

    /**
     * 活动分区ID
     */
    private Long partitionId;
    /**
     * 是否为每日活动
     */
    private WhetherEnum isDayAct;

    /**
     * 活动编码
     */
    @NotNull(message = "活动编码不允许为空")
    private String actCode;

    /**
     * 需收款折扣（只针对代理商活动有效）
     */
    private BigDecimal needReceiveRate;
}
